package com.example.spidertp.core.service;

import com.example.spidertp.core.model.vo.SpiderThreadPoolArgsVo;
import com.example.spidertp.core.model.vo.SpiderThreadPoolLivingStateVo;

import java.util.List;

/**
 * @author xiong.bo
 * @version 1.0
 * @date 2022/9/24 10:39 上午
 */
public interface SpiderTPService {

    /**
     * 活动状态的线程池列表
     *
     * @return
     */
    List<SpiderThreadPoolLivingStateVo> selectList();


    /**
     * 创建新的线程池
     * 如果根据name找到，则提示已存在
     *
     * @param poolName
     * @return
     */
    SpiderThreadPoolArgsVo createSpiderTp(String poolName);

    /**
     * 终止线程池
     * 只有线程池里的线程都处于空闲状态的才能销毁
     *
     * @param poolName
     * @return
     */
    boolean removeSpiderTp(String poolName);

}
